package com.czy.moudle.exception.domain;

import com.czy.moudle.exception.domain.enums.Level;
import com.czy.moudle.exception.domain.enums.Type;

/***
 * 异常配置
 *
 * @author 陈致远
 * @date 2016/8/11
 */
public class ExceptionConfig {
    /**
     * <pre>
     * 编码
     * 用于系统中程序代码抛异常时使用
     * 规则：
     * 1、根据编号处理错误信息：EXP.模块名.错误简短描述(英文)，
     * 	  模块名业务模块不能使用SYS、FRAMEWORK等字样，如：EXP.CUSINFO.NULL
     * 2、根据异常类路径处理错误信息：java.lang.IllegalArgumentException
     *  当不使用数据库表存储异常配置信息时，属性文件配置也需要遵守此约定
     * 3、未配置的错误，统一由EXP.GLOAB.UNKNOWN进行处理
     * </pre>
     */
    private String errKey;

    /**
     * 错误编码
     * 错误编码格式：1、2、3....，注意：1 ~ 2000000 为系统框架专用错误编码
     * 1 - 1000 为Http状态码专用
     *
     * 业务模块的错误从5000000 开始使用
     */
    private long errCode;

    /**
     * 错误信息提示
     */
    private String errInfo;

    /**
     * 级别
     */
    private Level errLevel;

    /**
     * 类型
     */
    private Type errType;

    /**
     * 说明
     */
    private String content;

    public String getErrKey() {
        return errKey;
    }

    public void setErrKey(String errKey) {
        this.errKey = errKey;
    }

    public long getErrCode() {
        return errCode;
    }

    public void setErrCode(long errCode) {
        this.errCode = errCode;
    }

    public String getErrInfo() {
        return errInfo;
    }

    public void setErrInfo(String errInfo) {
        this.errInfo = errInfo;
    }

    public Level getErrLevel() {
        return errLevel;
    }

    public void setErrLevel(Level errLevel) {
        this.errLevel = errLevel;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Type getErrType() {
        return errType;
    }

    public void setErrType(Type errType) {
        this.errType = errType;
    }
}
